package 动态规划;
/**
 * 后续 再根据  左程云的   dp的 讲解 进行 完善 这些东西 
 * 本质 : 空间 换取 时间 
 *  暴力 解法 的过程 存在 一些  重复的 子过程 
 * 我们 对这些    **** 重复的 *****       子过程 进行      缓存 然后后续 再  经历 这些 子过程的 时候 直接 
 * 从缓存 表中取值 不再 重复计算  从而 提升效率 
 * dp 是记忆化搜索的  再优化  
 * 
 * 现在 自己 学习的  的 动态规划 中  好像 已经出现  两种 递归的 类型 
 * ① ： 结果 的 个数  这种题  
 * 比如 满足 xxxx 条件的 结果  有多少种  比如 
 * 组合    求和   dp  版本 的  那几个 动态规划  
 * 或者   机器人 走  迷宫的 走法  或者 爬楼梯 这个些问题    ... ..............................等等
 *
 *          
 *          
 *  ② :     最大分数          最好情况   或者  最大利益
 *  往往 这些 最值的  取值 过程 会 与 之前的 状态 有关  从而 进行状态 转移 
 *  算出  当前  的 状态   
 *  比如  1014 这个 题 和      2212  这个题 dp数组  初始化 都是 个问题        
 *  这两个题 都一个 共性问题
 *  
 *  
 *  
 * 现在 疑问 又 变多了 dp数组 的含义 什么 
 * 采用rest 和 sum 这两种  参数的 不同 dp数组的 含义  有什么 区别 嘛 
 * 
 * 现在 又引出 了 一个 贪心问题 
 * 2212 在 某种程度 上是一个  贪心问题   但是 这个贪心策略  是错误的 
 * 所以 得 用 动态规划 或者 回溯 
 * 
 * 
 * 
 * 
 * 
 * 
 *
 */
public class Note {
	public static void main(String []args) {
		boolean flag = false;
		/**
		 * 
		 * 对 for 循环 有了 清醒的 认识 我靠 
		 *    * 解释 ：
				   *如果 for 循环中的  Boolean 表达式 为
				   *false  的 话  那么 直接 结束 for 循环 
				   *这里  有两个  表达式 i < len && rest -nums [i] >= 0
				   *对我造成 了 干扰 我靠 服了 
				   * 
		 */
		for(int i = 10; flag;i-- ) {
			flag = true;
			System.out.println(i);
			
		}
		System.out.println("hhh");
	}

}
